home *** CD-ROM | disk | FTP | other *** search
- PROGRAM PeepTrans;
-
- {
- Konvertiert Peep-Fehlerdateien für MegaEd
- von Wurzelsepp, 100% PD
- }
-
- {$I "include:exec/memory.i" }
- {$I "include:libraries/dosextens.i" }
- {$I "include:utils/Stringlib.i" }
-
- CONST
- file1 : String = "T:MegaEdMake-ErrFile";
- file2 : String = "T:MegaEdMake-Errors";
- errorinfo : String = "E1/1";
- ret : Char = CHR(10);
-
- ver_text : String = "\0$VER: MegaEd-TransPeep V1.0 (16.03.95)";
-
- VAR
- fileh : FileHandle;
- meldung : BOOLEAN;
- las,
- len,
- dummy : INTEGER;
- old : Address;
- off : ^Char;
-
- PROCEDURE TickleOn;
-
- BEGIN
- Inc(las);
- off:=Address(Integer(off)+1);
- END;
-
- BEGIN
-
- IF DeleteFile(file2) THEN ;
-
- meldung:=FALSE;
- fileh:=DOSOpen (file1,MODE_OLDFILE);
- IF fileh<>NIL THEN
- BEGIN
- dummy:=Seek(fileh,0,OFFSET_END);
- len:=Seek(fileh,0,OFFSET_BEGINNING);
- if len>0 THEN
- BEGIN
- old:=AllocMem (len,MEMF_PUBLIC+MEMF_CLEAR);
- IF old=NIL THEN
- BEGIN
- DOSClose (fileh);
- Exit;
- END;
- IF DOSRead(fileh,old,len)<>len THEN
- BEGIN
- FreeMem(old,len);
- DOSClose(fileh);
- Exit;
- END;
- END;
- DOSClose(fileh);
- IF (len=0) THEN Exit;
-
- fileh:=DOSOpen (file2,MODE_NEWFILE);
- IF fileh<>NIL THEN
- BEGIN
-
- las:=0;
- off:=old;
- WHILE las<len DO
- BEGIN
-
- WHILE (off^<>CHR(10)) AND (las<len) DO
- TickleOn;
- IF las<len THEN
- BEGIN
- TickleOn; {Return überlesen}
- IF las<len THEN
- BEGIN
- meldung:=TRUE;
-
- WHILE (off^<>'"') AND (las<len) DO
- TickleOn;
- IF las<len THEN
- BEGIN
- TickleOn;
- { Error-Kennung schreiben. Zeilen/Spalten-Angabe ist nicht möglich }
- dummy:=DOSWrite (fileh,errorinfo,StrLen(errorinfo));
- dummy:=DOSWrite (fileh,Adr(ret),1);
- WHILE (off^<>'"') AND (las<len) DO
- BEGIN
- dummy:=DOSWrite (fileh,off,1);
- TickleOn;
- END;
- IF las<len THEN
- BEGIN
- TickleOn;
- TickleOn; {Gänsefüßchen und Return überlesen }
- END;
- END;
- END;
- END;
- END;
- DOSClose (fileh);
- END;
-
- FreeMem(old,len);
-
- END;
-
- IF meldung=FALSE THEN
- IF DeleteFile(file2) THEN ;
-
- END.
-
-